home *** CD-ROM | disk | FTP | other *** search
/ Micromanía: 150 Juegos 2010 / 150Juegos_16.iso / Shareware / Shape Smash / shape-smash.swf / scripts / Box2D / Dynamics / Contacts / _kg776.as < prev    next >
Encoding:
Text File  |  2010-05-14  |  19.4 KB  |  483 lines

  1. package Box2D.Dynamics.Contacts
  2. {
  3.    import Box2D.Collision._cc280;
  4.    import Box2D.Collision._kn203;
  5.    import Box2D.Common.Math._oh327;
  6.    import Box2D.Common.Math._ui293;
  7.    import Box2D.Common.Math.b2Vec2;
  8.    import Box2D.Common._kc225;
  9.    import Box2D.Dynamics._th791;
  10.    import Box2D.Dynamics._ut97;
  11.    
  12.    public class _kg776
  13.    {
  14.       public var m_constraints:Array;
  15.       
  16.       public var m_constraintCount:int;
  17.       
  18.       public var m_allocator:*;
  19.       
  20.       public var m_step:_ut97;
  21.       
  22.       public function _kg776(param1:_ut97, param2:Array, param3:int, param4:*)
  23.       {
  24.          var _loc5_:_nb823 = null;
  25.          var _loc6_:int = 0;
  26.          var _loc7_:b2Vec2 = null;
  27.          var _loc8_:_oh327 = null;
  28.          var _loc9_:int = 0;
  29.          var _loc10_:_th791 = null;
  30.          var _loc11_:_th791 = null;
  31.          var _loc12_:int = 0;
  32.          var _loc13_:Array = null;
  33.          var _loc14_:Number = NaN;
  34.          var _loc15_:Number = NaN;
  35.          var _loc16_:Number = NaN;
  36.          var _loc17_:Number = NaN;
  37.          var _loc18_:Number = NaN;
  38.          var _loc19_:Number = NaN;
  39.          var _loc20_:Number = NaN;
  40.          var _loc21_:Number = NaN;
  41.          var _loc22_:int = 0;
  42.          var _loc23_:_kn203 = null;
  43.          var _loc24_:Number = NaN;
  44.          var _loc25_:Number = NaN;
  45.          var _loc26_:_dm217 = null;
  46.          var _loc27_:uint = 0;
  47.          var _loc28_:_cc280 = null;
  48.          var _loc29_:_lj358 = null;
  49.          var _loc30_:Number = NaN;
  50.          var _loc31_:Number = NaN;
  51.          var _loc32_:Number = NaN;
  52.          var _loc33_:Number = NaN;
  53.          var _loc34_:Number = NaN;
  54.          var _loc35_:Number = NaN;
  55.          var _loc36_:Number = NaN;
  56.          var _loc37_:Number = NaN;
  57.          var _loc38_:Number = NaN;
  58.          var _loc39_:Number = NaN;
  59.          var _loc40_:Number = NaN;
  60.          var _loc41_:Number = NaN;
  61.          var _loc42_:Number = NaN;
  62.          var _loc43_:Number = NaN;
  63.          var _loc44_:Number = NaN;
  64.          var _loc45_:Number = NaN;
  65.          var _loc46_:Number = NaN;
  66.          var _loc47_:Number = NaN;
  67.          m_step = new _ut97();
  68.          m_constraints = new Array();
  69.          super();
  70.          m_step.dt = param1.dt;
  71.          m_step.inv_dt = param1.inv_dt;
  72.          m_step.maxIterations = param1.maxIterations;
  73.          m_allocator = param4;
  74.          m_constraintCount = 0;
  75.          _loc6_ = 0;
  76.          while(_loc6_ < param3)
  77.          {
  78.             _loc5_ = param2[_loc6_];
  79.             m_constraintCount += _loc5_.m_manifoldCount;
  80.             _loc6_++;
  81.          }
  82.          _loc6_ = 0;
  83.          while(_loc6_ < m_constraintCount)
  84.          {
  85.             m_constraints[_loc6_] = new _dm217();
  86.             _loc6_++;
  87.          }
  88.          _loc9_ = 0;
  89.          _loc6_ = 0;
  90.          while(_loc6_ < param3)
  91.          {
  92.             _loc5_ = param2[_loc6_];
  93.             _loc10_ = _loc5_.m_shape1.m_body;
  94.             _loc11_ = _loc5_.m_shape2.m_body;
  95.             _loc12_ = _loc5_.m_manifoldCount;
  96.             _loc13_ = _loc5_._sg202();
  97.             _loc14_ = _loc5_.m_friction;
  98.             _loc15_ = _loc5_.m_restitution;
  99.             _loc16_ = _loc10_.m_linearVelocity.x;
  100.             _loc17_ = _loc10_.m_linearVelocity.y;
  101.             _loc18_ = _loc11_.m_linearVelocity.x;
  102.             _loc19_ = _loc11_.m_linearVelocity.y;
  103.             _loc20_ = _loc10_.m_angularVelocity;
  104.             _loc21_ = _loc11_.m_angularVelocity;
  105.             _loc22_ = 0;
  106.             while(_loc22_ < _loc12_)
  107.             {
  108.                _loc23_ = _loc13_[_loc22_];
  109.                _loc24_ = _loc23_.normal.x;
  110.                _loc25_ = _loc23_.normal.y;
  111.                _loc26_ = m_constraints[_loc9_];
  112.                _loc26_.body1 = _loc10_;
  113.                _loc26_.body2 = _loc11_;
  114.                _loc26_.manifold = _loc23_;
  115.                _loc26_.normal.x = _loc24_;
  116.                _loc26_.normal.y = _loc25_;
  117.                _loc26_.pointCount = _loc23_.pointCount;
  118.                _loc26_.friction = _loc14_;
  119.                _loc26_.restitution = _loc15_;
  120.                _loc27_ = 0;
  121.                while(_loc27_ < _loc26_.pointCount)
  122.                {
  123.                   _loc28_ = _loc23_.points[_loc27_];
  124.                   _loc29_ = _loc26_.points[_loc27_];
  125.                   _loc29_.normalImpulse = _loc28_.normalImpulse;
  126.                   _loc29_.tangentImpulse = _loc28_.tangentImpulse;
  127.                   _loc29_.separation = _loc28_.separation;
  128.                   _loc29_.positionImpulse = 0;
  129.                   _loc29_.localAnchor1._kh737(_loc28_.localPoint1);
  130.                   _loc29_.localAnchor2._kh737(_loc28_.localPoint2);
  131.                   _loc8_ = _loc10_.m_xf.R;
  132.                   _loc32_ = _loc28_.localPoint1.x - _loc10_.m_sweep.localCenter.x;
  133.                   _loc33_ = _loc28_.localPoint1.y - _loc10_.m_sweep.localCenter.y;
  134.                   _loc30_ = _loc8_.col1.x * _loc32_ + _loc8_.col2.x * _loc33_;
  135.                   _loc33_ = _loc8_.col1.y * _loc32_ + _loc8_.col2.y * _loc33_;
  136.                   _loc32_ = _loc30_;
  137.                   _loc29_.r1._br741(_loc32_,_loc33_);
  138.                   _loc8_ = _loc11_.m_xf.R;
  139.                   _loc34_ = _loc28_.localPoint2.x - _loc11_.m_sweep.localCenter.x;
  140.                   _loc35_ = _loc28_.localPoint2.y - _loc11_.m_sweep.localCenter.y;
  141.                   _loc30_ = _loc8_.col1.x * _loc34_ + _loc8_.col2.x * _loc35_;
  142.                   _loc35_ = _loc8_.col1.y * _loc34_ + _loc8_.col2.y * _loc35_;
  143.                   _loc34_ = _loc30_;
  144.                   _loc29_.r2._br741(_loc34_,_loc35_);
  145.                   _loc36_ = _loc32_ * _loc32_ + _loc33_ * _loc33_;
  146.                   _loc37_ = _loc34_ * _loc34_ + _loc35_ * _loc35_;
  147.                   _loc38_ = _loc32_ * _loc24_ + _loc33_ * _loc25_;
  148.                   _loc39_ = _loc34_ * _loc24_ + _loc35_ * _loc25_;
  149.                   _loc40_ = _loc10_.m_invMass + _loc11_.m_invMass;
  150.                   _loc40_ = _loc40_ + (_loc10_.m_invI * (_loc36_ - _loc38_ * _loc38_) + _loc11_.m_invI * (_loc37_ - _loc39_ * _loc39_));
  151.                   _loc29_.normalMass = 1 / _loc40_;
  152.                   _loc41_ = _loc10_.m_mass * _loc10_.m_invMass + _loc11_.m_mass * _loc11_.m_invMass;
  153.                   _loc41_ = _loc41_ + (_loc10_.m_mass * _loc10_.m_invI * (_loc36_ - _loc38_ * _loc38_) + _loc11_.m_mass * _loc11_.m_invI * (_loc37_ - _loc39_ * _loc39_));
  154.                   _loc29_.equalizedMass = 1 / _loc41_;
  155.                   _loc42_ = _loc25_;
  156.                   _loc43_ = -_loc24_;
  157.                   _loc44_ = _loc32_ * _loc42_ + _loc33_ * _loc43_;
  158.                   _loc45_ = _loc34_ * _loc42_ + _loc35_ * _loc43_;
  159.                   _loc46_ = _loc10_.m_invMass + _loc11_.m_invMass;
  160.                   _loc46_ = _loc46_ + (_loc10_.m_invI * (_loc36_ - _loc44_ * _loc44_) + _loc11_.m_invI * (_loc37_ - _loc45_ * _loc45_));
  161.                   _loc29_.tangentMass = 1 / _loc46_;
  162.                   _loc29_.velocityBias = 0;
  163.                   if(_loc29_.separation > 0)
  164.                   {
  165.                      _loc29_.velocityBias = -60 * _loc29_.separation;
  166.                   }
  167.                   _loc30_ = _loc18_ + -_loc21_ * _loc35_ - _loc16_ - -_loc20_ * _loc33_;
  168.                   _loc31_ = _loc19_ + _loc21_ * _loc34_ - _loc17_ - _loc20_ * _loc32_;
  169.                   _loc47_ = _loc26_.normal.x * _loc30_ + _loc26_.normal.y * _loc31_;
  170.                   if(_loc47_ < -_kc225.b2_velocityThreshold)
  171.                   {
  172.                      _loc29_.velocityBias += -_loc26_.restitution * _loc47_;
  173.                   }
  174.                   _loc27_++;
  175.                }
  176.                _loc9_++;
  177.                _loc22_++;
  178.             }
  179.             _loc6_++;
  180.          }
  181.       }
  182.       
  183.       public function _wm59() : void
  184.       {
  185.          var _loc1_:int = 0;
  186.          var _loc2_:_dm217 = null;
  187.          var _loc3_:_kn203 = null;
  188.          var _loc4_:int = 0;
  189.          var _loc5_:_cc280 = null;
  190.          var _loc6_:_lj358 = null;
  191.          _loc1_ = 0;
  192.          while(_loc1_ < m_constraintCount)
  193.          {
  194.             _loc2_ = m_constraints[_loc1_];
  195.             _loc3_ = _loc2_.manifold;
  196.             _loc4_ = 0;
  197.             while(_loc4_ < _loc2_.pointCount)
  198.             {
  199.                _loc5_ = _loc3_.points[_loc4_];
  200.                _loc6_ = _loc2_.points[_loc4_];
  201.                _loc5_.normalImpulse = _loc6_.normalImpulse;
  202.                _loc5_.tangentImpulse = _loc6_.tangentImpulse;
  203.                _loc4_++;
  204.             }
  205.             _loc1_++;
  206.          }
  207.       }
  208.       
  209.       public function _mf779(param1:_ut97) : void
  210.       {
  211.          var _loc2_:b2Vec2 = null;
  212.          var _loc3_:b2Vec2 = null;
  213.          var _loc4_:_oh327 = null;
  214.          var _loc5_:int = 0;
  215.          var _loc6_:_dm217 = null;
  216.          var _loc7_:_th791 = null;
  217.          var _loc8_:_th791 = null;
  218.          var _loc9_:Number = NaN;
  219.          var _loc10_:Number = NaN;
  220.          var _loc11_:Number = NaN;
  221.          var _loc12_:Number = NaN;
  222.          var _loc13_:Number = NaN;
  223.          var _loc14_:Number = NaN;
  224.          var _loc15_:Number = NaN;
  225.          var _loc16_:Number = NaN;
  226.          var _loc17_:Number = NaN;
  227.          var _loc18_:int = 0;
  228.          var _loc19_:int = 0;
  229.          var _loc20_:_lj358 = null;
  230.          var _loc21_:Number = NaN;
  231.          var _loc22_:Number = NaN;
  232.          var _loc23_:_lj358 = null;
  233.          _loc5_ = 0;
  234.          while(_loc5_ < m_constraintCount)
  235.          {
  236.             _loc6_ = m_constraints[_loc5_];
  237.             _loc7_ = _loc6_.body1;
  238.             _loc8_ = _loc6_.body2;
  239.             _loc9_ = _loc7_.m_invMass;
  240.             _loc10_ = _loc7_.m_invI;
  241.             _loc11_ = _loc8_.m_invMass;
  242.             _loc12_ = _loc8_.m_invI;
  243.             _loc13_ = _loc6_.normal.x;
  244.             _loc15_ = _loc14_ = _loc6_.normal.y;
  245.             _loc16_ = -_loc13_;
  246.             if(param1.warmStarting)
  247.             {
  248.                _loc19_ = _loc6_.pointCount;
  249.                _loc18_ = 0;
  250.                while(_loc18_ < _loc19_)
  251.                {
  252.                   _loc20_ = _loc6_.points[_loc18_];
  253.                   _loc20_.normalImpulse *= param1.dtRatio;
  254.                   _loc20_.tangentImpulse *= param1.dtRatio;
  255.                   _loc21_ = _loc20_.normalImpulse * _loc13_ + _loc20_.tangentImpulse * _loc15_;
  256.                   _loc22_ = _loc20_.normalImpulse * _loc14_ + _loc20_.tangentImpulse * _loc16_;
  257.                   _loc7_.m_angularVelocity -= _loc10_ * (_loc20_.r1.x * _loc22_ - _loc20_.r1.y * _loc21_);
  258.                   _loc7_.m_linearVelocity.x -= _loc9_ * _loc21_;
  259.                   _loc7_.m_linearVelocity.y -= _loc9_ * _loc22_;
  260.                   _loc8_.m_angularVelocity += _loc12_ * (_loc20_.r2.x * _loc22_ - _loc20_.r2.y * _loc21_);
  261.                   _loc8_.m_linearVelocity.x += _loc11_ * _loc21_;
  262.                   _loc8_.m_linearVelocity.y += _loc11_ * _loc22_;
  263.                   _loc18_++;
  264.                }
  265.             }
  266.             else
  267.             {
  268.                _loc19_ = _loc6_.pointCount;
  269.                _loc18_ = 0;
  270.                while(_loc18_ < _loc19_)
  271.                {
  272.                   _loc23_ = _loc6_.points[_loc18_];
  273.                   _loc23_.normalImpulse = 0;
  274.                   _loc23_.tangentImpulse = 0;
  275.                   _loc18_++;
  276.                }
  277.             }
  278.             _loc5_++;
  279.          }
  280.       }
  281.       
  282.       public function _md397() : void
  283.       {
  284.          var _loc1_:int = 0;
  285.          var _loc2_:_lj358 = null;
  286.          var _loc3_:Number = NaN;
  287.          var _loc4_:Number = NaN;
  288.          var _loc5_:Number = NaN;
  289.          var _loc6_:Number = NaN;
  290.          var _loc7_:Number = NaN;
  291.          var _loc8_:Number = NaN;
  292.          var _loc9_:Number = NaN;
  293.          var _loc10_:Number = NaN;
  294.          var _loc11_:Number = NaN;
  295.          var _loc12_:Number = NaN;
  296.          var _loc13_:Number = NaN;
  297.          var _loc14_:Number = NaN;
  298.          var _loc15_:Number = NaN;
  299.          var _loc16_:Number = NaN;
  300.          var _loc17_:_oh327 = null;
  301.          var _loc18_:b2Vec2 = null;
  302.          var _loc19_:int = 0;
  303.          var _loc20_:_dm217 = null;
  304.          var _loc21_:_th791 = null;
  305.          var _loc22_:_th791 = null;
  306.          var _loc23_:Number = NaN;
  307.          var _loc24_:Number = NaN;
  308.          var _loc25_:b2Vec2 = null;
  309.          var _loc26_:b2Vec2 = null;
  310.          var _loc27_:Number = NaN;
  311.          var _loc28_:Number = NaN;
  312.          var _loc29_:Number = NaN;
  313.          var _loc30_:Number = NaN;
  314.          var _loc31_:Number = NaN;
  315.          var _loc32_:Number = NaN;
  316.          var _loc33_:Number = NaN;
  317.          var _loc34_:Number = NaN;
  318.          var _loc35_:Number = NaN;
  319.          var _loc36_:Number = NaN;
  320.          var _loc37_:int = 0;
  321.          var _loc38_:Number = NaN;
  322.          _loc19_ = 0;
  323.          while(_loc19_ < m_constraintCount)
  324.          {
  325.             _loc20_ = m_constraints[_loc19_];
  326.             _loc21_ = _loc20_.body1;
  327.             _loc22_ = _loc20_.body2;
  328.             _loc23_ = _loc21_.m_angularVelocity;
  329.             _loc24_ = _loc22_.m_angularVelocity;
  330.             _loc25_ = _loc21_.m_linearVelocity;
  331.             _loc26_ = _loc22_.m_linearVelocity;
  332.             _loc27_ = _loc21_.m_invMass;
  333.             _loc28_ = _loc21_.m_invI;
  334.             _loc29_ = _loc22_.m_invMass;
  335.             _loc30_ = _loc22_.m_invI;
  336.             _loc31_ = _loc20_.normal.x;
  337.             _loc33_ = _loc32_ = _loc20_.normal.y;
  338.             _loc34_ = -_loc31_;
  339.             _loc35_ = _loc20_.friction;
  340.             _loc37_ = _loc20_.pointCount;
  341.             _loc1_ = 0;
  342.             while(_loc1_ < _loc37_)
  343.             {
  344.                _loc2_ = _loc20_.points[_loc1_];
  345.                _loc7_ = _loc26_.x + -_loc24_ * _loc2_.r2.y - _loc25_.x - -_loc23_ * _loc2_.r1.y;
  346.                _loc8_ = _loc26_.y + _loc24_ * _loc2_.r2.x - _loc25_.y - _loc23_ * _loc2_.r1.x;
  347.                _loc9_ = _loc7_ * _loc31_ + _loc8_ * _loc32_;
  348.                _loc11_ = -_loc2_.normalMass * (_loc9_ - _loc2_.velocityBias);
  349.                _loc10_ = _loc7_ * _loc33_ + _loc8_ * _loc34_;
  350.                _loc12_ = _loc2_.tangentMass * -_loc10_;
  351.                _loc13_ = _ui293._bk45(_loc2_.normalImpulse + _loc11_,0);
  352.                _loc11_ = _loc13_ - _loc2_.normalImpulse;
  353.                _loc38_ = _loc35_ * _loc2_.normalImpulse;
  354.                _loc14_ = _ui293._mx500(_loc2_.tangentImpulse + _loc12_,-_loc38_,_loc38_);
  355.                _loc12_ = _loc14_ - _loc2_.tangentImpulse;
  356.                _loc15_ = _loc11_ * _loc31_ + _loc12_ * _loc33_;
  357.                _loc16_ = _loc11_ * _loc32_ + _loc12_ * _loc34_;
  358.                _loc25_.x -= _loc27_ * _loc15_;
  359.                _loc25_.y -= _loc27_ * _loc16_;
  360.                _loc23_ -= _loc28_ * (_loc2_.r1.x * _loc16_ - _loc2_.r1.y * _loc15_);
  361.                _loc26_.x += _loc29_ * _loc15_;
  362.                _loc26_.y += _loc29_ * _loc16_;
  363.                _loc24_ += _loc30_ * (_loc2_.r2.x * _loc16_ - _loc2_.r2.y * _loc15_);
  364.                _loc2_.normalImpulse = _loc13_;
  365.                _loc2_.tangentImpulse = _loc14_;
  366.                _loc1_++;
  367.             }
  368.             _loc21_.m_angularVelocity = _loc23_;
  369.             _loc22_.m_angularVelocity = _loc24_;
  370.             _loc19_++;
  371.          }
  372.       }
  373.       
  374.       public function _sl623(param1:Number) : Boolean
  375.       {
  376.          var _loc2_:Number = NaN;
  377.          var _loc3_:_oh327 = null;
  378.          var _loc4_:b2Vec2 = null;
  379.          var _loc5_:int = 0;
  380.          var _loc6_:_dm217 = null;
  381.          var _loc7_:_th791 = null;
  382.          var _loc8_:_th791 = null;
  383.          var _loc9_:b2Vec2 = null;
  384.          var _loc10_:Number = NaN;
  385.          var _loc11_:b2Vec2 = null;
  386.          var _loc12_:Number = NaN;
  387.          var _loc13_:Number = NaN;
  388.          var _loc14_:Number = NaN;
  389.          var _loc15_:Number = NaN;
  390.          var _loc16_:Number = NaN;
  391.          var _loc17_:Number = NaN;
  392.          var _loc18_:Number = NaN;
  393.          var _loc19_:int = 0;
  394.          var _loc20_:int = 0;
  395.          var _loc21_:_lj358 = null;
  396.          var _loc22_:Number = NaN;
  397.          var _loc23_:Number = NaN;
  398.          var _loc24_:Number = NaN;
  399.          var _loc25_:Number = NaN;
  400.          var _loc26_:Number = NaN;
  401.          var _loc27_:Number = NaN;
  402.          var _loc28_:Number = NaN;
  403.          var _loc29_:Number = NaN;
  404.          var _loc30_:Number = NaN;
  405.          var _loc31_:Number = NaN;
  406.          var _loc32_:Number = NaN;
  407.          var _loc33_:Number = NaN;
  408.          var _loc34_:Number = NaN;
  409.          var _loc35_:Number = NaN;
  410.          var _loc36_:Number = NaN;
  411.          var _loc37_:Number = NaN;
  412.          var _loc38_:Number = NaN;
  413.          _loc2_ = 0;
  414.          _loc5_ = 0;
  415.          while(_loc5_ < m_constraintCount)
  416.          {
  417.             _loc6_ = m_constraints[_loc5_];
  418.             _loc7_ = _loc6_.body1;
  419.             _loc8_ = _loc6_.body2;
  420.             _loc9_ = _loc7_.m_sweep.c;
  421.             _loc10_ = _loc7_.m_sweep.a;
  422.             _loc11_ = _loc8_.m_sweep.c;
  423.             _loc12_ = _loc8_.m_sweep.a;
  424.             _loc13_ = _loc7_.m_mass * _loc7_.m_invMass;
  425.             _loc14_ = _loc7_.m_mass * _loc7_.m_invI;
  426.             _loc15_ = _loc8_.m_mass * _loc8_.m_invMass;
  427.             _loc16_ = _loc8_.m_mass * _loc8_.m_invI;
  428.             _loc17_ = _loc6_.normal.x;
  429.             _loc18_ = _loc6_.normal.y;
  430.             _loc19_ = _loc6_.pointCount;
  431.             _loc20_ = 0;
  432.             while(_loc20_ < _loc19_)
  433.             {
  434.                _loc21_ = _loc6_.points[_loc20_];
  435.                _loc3_ = _loc7_.m_xf.R;
  436.                _loc4_ = _loc7_.m_sweep.localCenter;
  437.                _loc22_ = _loc21_.localAnchor1.x - _loc4_.x;
  438.                _loc23_ = _loc21_.localAnchor1.y - _loc4_.y;
  439.                _loc26_ = _loc3_.col1.x * _loc22_ + _loc3_.col2.x * _loc23_;
  440.                _loc23_ = _loc3_.col1.y * _loc22_ + _loc3_.col2.y * _loc23_;
  441.                _loc22_ = _loc26_;
  442.                _loc3_ = _loc8_.m_xf.R;
  443.                _loc4_ = _loc8_.m_sweep.localCenter;
  444.                _loc24_ = _loc21_.localAnchor2.x - _loc4_.x;
  445.                _loc25_ = _loc21_.localAnchor2.y - _loc4_.y;
  446.                _loc26_ = _loc3_.col1.x * _loc24_ + _loc3_.col2.x * _loc25_;
  447.                _loc25_ = _loc3_.col1.y * _loc24_ + _loc3_.col2.y * _loc25_;
  448.                _loc24_ = _loc26_;
  449.                _loc27_ = _loc9_.x + _loc22_;
  450.                _loc28_ = _loc9_.y + _loc23_;
  451.                _loc29_ = _loc11_.x + _loc24_;
  452.                _loc30_ = _loc11_.y + _loc25_;
  453.                _loc31_ = _loc29_ - _loc27_;
  454.                _loc32_ = _loc30_ - _loc28_;
  455.                _loc33_ = _loc31_ * _loc17_ + _loc32_ * _loc18_ + _loc21_.separation;
  456.                _loc2_ = _ui293._ct557(_loc2_,_loc33_);
  457.                _loc34_ = param1 * _ui293._mx500(_loc33_ + _kc225.b2_linearSlop,-_kc225.b2_maxLinearCorrection,0);
  458.                _loc35_ = -_loc21_.equalizedMass * _loc34_;
  459.                _loc36_ = _loc21_.positionImpulse;
  460.                _loc21_.positionImpulse = _ui293._bk45(_loc36_ + _loc35_,0);
  461.                _loc35_ = _loc21_.positionImpulse - _loc36_;
  462.                _loc37_ = _loc35_ * _loc17_;
  463.                _loc38_ = _loc35_ * _loc18_;
  464.                _loc9_.x -= _loc13_ * _loc37_;
  465.                _loc9_.y -= _loc13_ * _loc38_;
  466.                _loc10_ -= _loc14_ * (_loc22_ * _loc38_ - _loc23_ * _loc37_);
  467.                _loc7_.m_sweep.a = _loc10_;
  468.                _loc7_._tp414();
  469.                _loc11_.x += _loc15_ * _loc37_;
  470.                _loc11_.y += _loc15_ * _loc38_;
  471.                _loc12_ += _loc16_ * (_loc24_ * _loc38_ - _loc25_ * _loc37_);
  472.                _loc8_.m_sweep.a = _loc12_;
  473.                _loc8_._tp414();
  474.                _loc20_++;
  475.             }
  476.             _loc5_++;
  477.          }
  478.          return _loc2_ >= -1.5 * _kc225.b2_linearSlop;
  479.       }
  480.    }
  481. }
  482.  
  483.